Welcome to this lecture on Studio basics.
We're going to be looking over the most important tools that are available to you as a Roblox developer.
It is crucial to be able to utilize these many powerful tools inside of studio.
So before we get started, obviously you're going to see this giant window open, giving you a glimpse
into the world of your game.
In order to move the camera around, we can use our mouse and hold down right click to rotate the camera,
and we can also move the camera around easily just using w key on your keyboard, just like you would
in any other single game.
We can also use the Q and E keys to move the camera up or down.
So if I press Q, my camera goes down and if I hold down E, my camera goes up and this moves in the
local up or down direction of our camera.
So if I had my camera facing directly downwards and then I pressed.
Q As you can see, we are moving basically backwards.
And if I press E now we're moving forwards.
So the Q and E keys work with the camera's local axes inside of the home tab.
We have access to several tools here, such as selecting parts, moving parts, scaling or resizing
parts and rotating parts, and each one of these tools has their own keybinds.
So for example, I can select the Move tool with control and two, or I can do scale with control and
three and rotate with control and four so you can independently move between these different tools without
having to select them up here.
So as an example, what I'm going to do is I'm going to select this part button here to place a part
into the workspace.
So if I look down right here and I click this button, now we have this part inside of our game and
currently we have the scale tool enabled and you see these different balls pop up around our part,
which signify the different directions that we can resize our part in.
So in this direction for the red is the x axis of the part, the blue is the Z axis and the green is
the y axis for this part.
So as you can see, we are able to resize this part to whatever size or shape we'd like.
And if we hold down shift, we can resize the entire part at the same time to scale it up or down.
If you want to resize this part in a particular direction on both sides, you can hold down the Ctrl
key.
And as you can see, we're resizing this part in both directions and we can do this on every single
axis.
The home tab has some other buttons, such as accessing the terrain Editor.
We're not going to worry about this tool too much for right now, but basically this is just the tool
we use to generate terrain in our game.
Some other important buttons, for example, is a color palette.
So if you wanted to change the color of this part, we can open up this color palette and select a color
like green.
And now our part is green where we could switch it to be red or any of these other different colors
inside of this predefined color set here.
This home tab is also home to some other buttons, such as grouping things together, locking a particular
thing and anchoring parts.
So if I had multiple parts and what I'm going to do is I'm going to select this part and duplicate it
using Ctrl and D, So now I duplicated it and I can move this newly created part around and I can duplicate
it again using Ctrl and D, duplicate it again.
And then what I could do is I could select all three of these parts by holding down my Ctrl key and
then clicking each one of them.
And then I can go up to the top here and hit this group button.
And now these parts are joined together into a single model, which means if I click it, I move the
entire thing together in unison and I can also resize the entire thing together in unison.
Now what we're going to do real quick is we're going to head to the View tab and we're going to open
up a bunch of important panels.
As you can see, there's a lot of different menus we can open up, but the most important ones we'll
want to open up is our Explorer window.
We're going to want to open the properties window, the output window, as well as the toolbox window.
And you can easily grab and move these different windows around and adjust them to whatever you like
so you can have them just sit here freely or you can have them move to a predefined position.
You can of course resize them to your liking and just kind of customize studio in the way that you think
is best for you.
So we're going to take a quick peek at this Explorer window.
And this explorer window basically shows you or stores every single object inside of your game.
As an example, that model we just created with these three parts appears underneath our workspace.
And this is a service that stores all of the parts inside of our game.
So as you can see, here's our model and here are the three parts that are inside of our model.
And these different parts would be considered children of this model.
So this model is the parent of these three parts, and each of these parts is a child of this model.
If I were to duplicate this part right here using Ctrl and D and I made this part a child of, let's
say this part.
Now, this part right here would be considered a descendant of our model.
It's not a child of the model because a child means it's directly underneath our object here.
But since it is a child of this part, which is a child of our model, that means it would be considered
a descendant.
So this part is a child of this part and this part is a child of our model.
Now, you might be wondering what exactly is a service?
Well, a service in Roblox is a top level class.
And a class is just a blueprint for creating custom objects with their own unique properties and functions.
Each service in Roblox has its own unique properties, functions and events that we can access and use.
These services allow your game to function correctly, and each service has its own unique purpose.
So, for example, our workspace is a service that's responsible for storing all of the objects in our
game that's going to be visible on the map.
And we also have a bunch of properties inside of our workspace, inside of our properties menu, such
as the origin point of our world changing the gravity, adding wind to our game and a whole bunch of
other different properties.
Another example of a service in our game would be something like the lighting service.
And this is responsible for controlling, you guessed it, the lighting of our game.
The service allows us to change different color properties for the lighting, the time of day and a
bunch of other neat stuff.
So for example, if I wanted to change the ambient lighting, I can move this thing around and change
the different colors for the lighting in my game.
But we're just going to leave it at the default for now.
So the main thing I want you to take away with this is that our explorer is basically a container to
show us all of the things in our game.
And the property menu allows us to access each unique properties for every single object in our game.
So each service has its own unique properties, and each part inside of our game also has its own unique
properties such as the color of the part.
Whether or not we'd like the part to cast a shadow, we have the name of our part.
What the parent of our part is.
We have the size of our part, its current position in the world, and a whole bunch of other neat properties,
such as whether or not other parts or our players can collide with this part, whether or not our part
is anchored, and a whole bunch of other neat stuff like that.
And we'll actually go back to the home page here because if you remember, another one of our buttons
here was to anchor a part, and this adjusts the anchored property for our part.
So if we hit this button here, as you can see, our part is now anchored.
What does that mean?
Well, basically, it means that our part no longer has physics acting upon it.
So as a quick example, I'm going to show you exactly what happens when I playtest the game.
And we have this part right here that is anchored.
And these two parts here that are un anchored.
So in order to test our game, we can go to the test tab and we can go ahead and move to this play button
right here.
And we're going to select this dropdown menu and hit run.
Or you can press F8 on your keyboard.
So when we run our game here.
As you can see, this part is floating and these two parts right here have fallen down.
Now, ignore this other part.
That's just the duplicated part that popped out of our other part.
But as you can see, these parts right here have physics acting upon them while this one doesn't.
These ones were affected by gravity and this one is still floating in the air.
So when we anchor our parts, we're basically disabling any types of physics happening on it.
And when we anchor a part, then we allow whatever physics to happen to that part based on that part
size and its mass and things like that.
Now, another quick thing I would like to mention real quick is that if you have a model in your game
like this one and you want to select a specific part inside of your model without having to go into
the Explorer menu to select that part, what you can do is you can hold down your alt key, and this
will allow you to individually select a certain part in your model.
So, for example, if I wanted to only select this part, I can click this one and if I want it to select
multiple parts, I could hold down control and alt, and now I can select two different parts inside
of my model.
If I don't want to have this model anymore, then I can simply use the keybind control and you.
Or we can go back to the home page and there is the option to ungroup a model.
Now another button we have in the home tab is the lock button.
And this one is pretty simple.
All it does is basically locks a part and disables the ability for us to interact with this part while
we're editing things in studio.
So as an example, when I hover over this part, as you can see, this border appears around it and
I can select this part and I can move it around and stuff like that.
But if I decide to select this tool and then lock this part and then I disable this tool again, as
you can see, I am no longer able to select this part and when I hover my mouse over it, we don't get
the border over it anymore.
I am completely unable to interact with this part.
It is locked.
If you want to unlock it, then you can simply select the tool again, hit unlock or you can also locate
this part that is locked within the workspace and disable the locked property.
Now, the next tab we can go ahead and take a look at is going to be our model tab.
And there's a whole bunch of other tools in here that we can mess with.
And this is mainly for when you're building things or modeling things in studio.
As you can see, we still have our select move scale and rotate tools, but we also have a new tool
in here called the Transform Tool.
So if we open this up here, what this tool basically is, is that it takes all of these tools and combines
it into a single tool.
So we're able to resize a part in here.
We're able to move a part around such as moving it up.
We can rotate a part in here and things like that.
Most of the time nobody ever really uses this tool because we just use the individual tools such as
the rotate scale move and stuff like that.
But it is a neat tool available to you if you'd like to use it.
Another extra feature that the model tab introduces to us is the ability to customize the movement and
rotation of parts in our game.
So as an example, when I went to resize these parts, as you can see, it only resizes our parts in
these certain increments.
So if I were to drag this part and make it flush with the ground, you can see each of these little
squares here and each of these squares represents one stud.
And currently, since my movement is set to three studs, when I resize this, it should move over these
three units right here or these three measurements.
So when I move it, we just moved three studs.
If you want to reduce it, then you can enter in a custom number.
So for example, if we only wanted to move one stud, we could do exactly that.
If we wanted to move half a stud, we can do that as well, and we can even go as low as 001.
So one, I believe 1/1000 of a stud.
We can move our part.
And if you made a change that you didn't like and you can just do Control Z to revert your changes and
if you accidentally undid something, then you can use control, shift and Z to redo a certain action.
This is also available at the top where we have an undo button and a redo button.
But it's also good to learn the keybinds for these different buttons.
So to undo it's control Z and to redo you can do control Y or I like to use control shift and Z.
Now another way to gain more precise control over the movement or resizing of our parts is we can uncheck
this box right here, which will disable snapping to our grid.
So even if I had this set to something like one stud and I had this disabled, as you can see, we're
able to completely and precisely resize and move our part around.
We're not confined to snapping to each of the different grid positions.
We can also do the exact same thing with the rotate tool.
So currently it's set at four degrees.
So when I open up my rotate tool.
Every time I want to rotate it, it's going to rotate four degrees every single time.
So if you see in our properties window as I am rotating this part, it is updating the orientation of
it in that respective axes four degrees each time.
If I want to reduce it, then I can set a lower number like one.
And now we're only rotating by one stud each time or one degree.
I mean, and if you want to have complete precise control over the rotation of your parts, then you
can just go ahead and uncheck this.
And now we can rotate our parts extremely precisely.
This tab also introduces to us the ability to edit the pivot of our parts or basically editing this
origin point within our part.
So for example, if I hit edit, pivot while I have this tool selected, I can change the pivot of our
part or basically change.
As you can see, it's updating this pivot offset here.
I'm changing the local axes of this part.
So now when I exit this tool and I select this part and I use the move tool, as you can see, our Move
tool has updated to respect this parts new local axes.
It's not following the global axes that's defined in the top right of our screen here.
So for example, this direction is positive in the Z direction and this direction is positive in the
X direction and then up is positive in the Y direction and down is negative in the Y direction.
But as you can see, our arrows are not matching up with the global axes of our game.
And that's because this part has its own unique and local axes.
So we're able to move that part in its own local axes.
And we can also continue to edit this pivot.
Or if we made a change we didn't like, then we can go ahead and hit the reset button, which will restore
the pivot back to the default of this part.
Now, if you don't want this part to move in its local axes, so for example, maybe I want this part
to move directly upwards in the global y axis, then I can right click this part and I have the ability
to select this button that says Use world space and the keybind for this is control and L.
So if I click that, as you can see, the pivot has changed and now we can move this part in the global
y axis and the global Z axis and the global X axis.
And then if I keep this part selected and do control and L again, as you can see, it resets back to
the local axes of our part and you can tell which mode you're in because in a corner of our part, as
you can see, there is an L here which stands for local.
And if I hit Ctrl, L again, as you can see, that disappears and now we are in the global axis of
our game.
Some other tools we have in here are something called the Align tool, which we're not going to worry
about right now.
And we also have this section called Solid Modeling, and this allows us to create something called
a union.
And a union is basically when we take a bunch of different parts and combine them into a single part.
So it's kind of like models, but it's also not like models at the same time, because when we have
a model, we still have a bunch of separate parts in our game.
But when we use unions, those parts that we combine together become one single cohesive part.
So as an example, what I'm going to do is I'm going to duplicate this part here and move it out and
I'm just going to make some weird shape like this, and then I can select this second part again by
holding down Ctrl and then I can go ahead and click the union button.
And when I click this, we get a new part inside of our workspace, which is called a union operation
or a union.
And as you can see, our parts have transformed into a single part with its own unique hitbox.
As you can see, it has cut a hole into this other part to join it with this other part.
And now we have a union between these two parts, we can also do the opposite.
So what I'm going to do is I'm going to separate this union by hitting this separate button.
And what I'm going to do is I'm going to select one of these parts and I'm going to negate this part,
which turns it red.
And then if I go and select this part right here and then union.
Now we have this hole cut out of our other part.
So this gives us the ability to create some really unique shapes in our Roblox games.
If you don't want to have this union anymore, then again, we can just separate this and we can negate
this part by selecting it and negating it again.
And now we just have our two singular parts.
We also have the section called Constraints, which allow you to insert a whole bunch of different physics
constraints.
We're not going to go quite into depth about these just yet because that would take a really long time.
But basically these are just a whole bunch of different constraints that you can insert into your game
to manipulate the physics of parts.
We also have another section here where we can insert certain effects into our game.
So, for example, if we wanted this part to be on fire, we could insert a fire effect.
And it's pretty small.
But as you can see, here is our simple little fire.
We can also insert some other effects, like a particle emitter.
We have lights in here, sparkles, beams, trails, a whole bunch of other neat effects.
I'm just going to delete this real quick by pressing the delete key, or you can right click it and
just hit delete.
And we also have this button to insert objects into our game which will open up a menu.
And if we drag this out here and let me resize this, it shows you all of the basic objects that we
can insert into our game.
All of these objects are known as instances.
And again, instances is just a fancy word for an object in our game, right?
An object created by a class in our game.
So, for example, every time I create a new part in the workspace, if I keep pressing this part here
and inserting new parts into the workspace, each of these are their own unique objects, but they all
derive from the same class or the same blueprint.
Right?
You can think of a car, right?
When a manufacturer wants to create a car, they have a blueprint for that car and then they can use
that blueprint to create as many cars as they want.
Right?
So the cars themselves are the objects, and the blueprint tells us how to create that object or exactly
what the properties and functionality for that object is going to be.
But as you can see, there's a whole bunch of instances or objects in this game that we can insert.
I mean, there's just tons and tons of stuff in Roblox.
We got scripts in here, we have sound effects, sound instances, we have these different values in
here.
We have different constraints and just a whole bunch of different stuff.
It would obviously take forever to go through every single one of these things.
So we're not going to be focusing on this just yet so we can close out of this for now.
The next tab we can go ahead and move over to is the Avatar tab.
And again, it'll keep the same tools that we had in the model tab, but we have a few new buttons.
So for example, we can insert 3D objects into our game.
So if you ever use something like Blender or Maya and you had custom meshes, they call them or custom
3D objects from a separate program, you can import them into Roblox.
But again, we're not going to worry about this for now.
This is also for importing mesh rigs and stuff like that.
Again, don't worry about that too much.
We also have this button here to build rigs and these are just regular Roblox rigs.
So, for example, I can insert a block avatar here.
And here we have basically the avatar of your standard character in our game.
And we can basically use these rigs to create animations.
And that's what we would use this animation editor for.
So if we open this up again, we're going to have this new window open and we can select a rig like
this one, and it's going to tell us to create a new animation.
And this is where we can adjust, you know, and create animations for our characters and things like
that.
This tool, again, we're not going to worry about it that much right now, but it is a tool that you
will likely use in the future.
So we can close out of this.
I'm going to go ahead and delete this guy and we can go move on to the test tab.
This is a very simple tab.
Again, this allows us to test our game by either playing it or running it.
And this play here button is basically the exact same thing as this play button.
But what it does is that it inserts your player's character directly to wherever your camera is facing.
So by default, anytime we play our game, we're going to spawn at this spawn location here.
So as an example, if I hit play right here.
Here we are.
We have spawned on our spawn location.
Right.
Just as we would expect.
Going to stop this test.
And then what we could do is we could instead use the play here button.
So if I look right here, then my character is going to spawn in this general area just like that.
So as you can see, we didn't spawn on our base plate and instead we have spawned here wherever our
camera was at, we also have the ability to create a local server.
So in any case, where you needed to test your game out with multiple different players, then you can
run a local server with up to eight players allowing you to test functionality between other players
or any kind of functionality you need to test with multiple different players.
We also have device emulation in here.
This allows you to basically just test the UI of your game on different devices.
You can select this dropdown menu here and emulate Roblox on, for example, an iPhone seven or emulate
it on an iPad, Samsung.
There's a whole bunch of other stuff in here, including even consoles you can emulate it on.
And there's just a bunch of different neat little settings that you can do to emulate Roblox on different
devices.
In our view tab.
We were just in here.
This is where we're going to be able to pop up a whole bunch of different important windows like our
Explorer window, our properties window, the toolbox, which we'll go over in just a moment.
Our output window, which displays text from our scripts.
And there's a whole bunch of other different little windows in here that we're not going to worry about
too much.
We also have some other different viewing options in here.
So, for example, if you didn't like this view selector that shows us the global axes in the game,
you can hit this button to get rid of it or hit it again to make it come back.
We also have the ability to show a grid in our game which will display this grid on the map that just
basically shows you the different stud increments.
And this will basically just go on forever and ever.
So if I zoom all the way out, as you can see, this grid just continues to stretch out for infinity.
And we can also enable this button which will place a grid material over all of the different parts
in your game.
So if I go back all the way to my parts over here, as you can see, each of them have this grid on
them, which represents the global grid of our game.
And also another thing I'll mention real quick is let's say you're super far away from a part and you
want to be able to travel to this part instantly.
Then you can right click it and there is a button to zoom to this part, or you can hit F on your keyboard.
So if I hit F.
Or let me try that again.
If I hit f boom, we have teleported to the part.
Very nice.
We also have the ability to enable wireframe rendering, which doesn't really do much, but I mean it
just looks kind of cool to see all of the different triangles that make up your game.
I'll just disable these real quick.
There are some other neat buttons in here, such as viewing network information, render information,
a whole bunch of other complex kind of stuff.
And also there's a button in here to toggle the visibility of UI.
So when you have UI or UI elements in your screen, they're obviously going to pop up on our camera
and there's going to be times where you may not want to see all this gooey stuff on your screen.
So that's when you would use this UI visibility button to toggle the visibility of UI elements on your
screen.
Now, the last thing that we're going to talk about here real quick is our plugins tab and the toolbox.
So as you can see, I already have a plugin in here.
This plugin is called Rojo.
You don't need to worry about this plugin.
This is just a plugin I use that I have installed as a file on my computer, so this is always going
to show up in here.
But basically what we can do is we can go to the toolbox here and this is an area where a whole bunch
of developers have uploaded their own models assets.
You can look through audio assets in here, you can look at other developers plugins.
And inside of here, of course, there's a whole bunch of paid plugins, but there's also free plugins
as well.
So if you wanted to get a free plugin for example, um.
When we try to find a good free plugin.
Here we go.
For example.
Archimedes is a neat little free plugin.
You can select this plugin and we can hit install.
And then our plug in is going to show up underneath our plug ins tab and you can select this plugin
and this gives you some neat tools for interacting with parts in your game.
Basically, plug ins are just scripts or extra studio stuff that other developers have created to make
developing a lot more easy for you when you're creating your games.
So back inside of the Models tab, we can go ahead and look at a whole bunch of different stuff, including
categories.
We can take a look at different categories such as maybe vehicles.
We can see different vehicles that other developers have made.
So, for example, here's a working car.
We can click this and it will insert it into our game.
It'll tell you that this includes seven scripts.
Please review the scripts to prevent unwanted changes to your experience.
Basically, you just want to be careful of any malicious scripts that might be inside of these models.
Most of the time, if these models have good ratings, then you're not going to have to worry.
But sometimes you will find models out there in the wild that may have malicious scripts.
Now that does sound a little scary, but basically those malicious scripts at their worst would just
make your game either unplayable because they'd be spamming in parts into the workspace or they would
display garbage on your screen, stuff like that.
That's why you just want to be careful anytime you're inserting free models into your game.
But as you can see, here is a model of a car that another developer has made with its own scripts and
things like that.
And we can actually go ahead and play test our game here to check out this developer's car model.
So if we go and hop in this bad boy, actually we can hit E and look at that.
We have this neat little car that we can drive around in.
All righty.
So I think we've gone over the main important things of Roblox studio.
And in the next lecture, we're going to take a look at inserting a script into our game and writing
down our first few lines of code.
I will see you there.